The present invention relates to the field of location dependent data processing, and particularly to a software system and associated method for use with a Global Positioning System (GPS) or equivalent locator scheme for wireless position tracking of an object or person. More specifically, the system and method permit knowledge exchange of the proximity of individuals, objects, groups of persons, or collection of objects, to each other, and are suited for the implementation of location driven activities and/or location based services.
Internet based services and derived e-commerce applications are gaining increasing popularity, leading to the integration of diverse computing and communications devices, such as mobile phones, PDAs, and GPS systems.
Such integration has expanded the need for a new generation of xe2x80x9csmart devicesxe2x80x9d, independent electronic, web-oriented, software and technological systems and services. One specific need is for a system that uses proximity and/or locations as a means of facilitating the communication between a user and a computer system, such as a server.
The following publications describe current attempts to use location tracking in various applications, and illustrate background material to help explain the context of the problem addressed by the present invention:
U.S. Pat. No. 5,907,293 to Tognazzini;
U.S. Pat. No. 5,422,816 to Sprague et al.; and
U.S. Pat. No. 6,100,806 to Gaukel.
Current systems do not facilitate the availability of knowledge concerning the proximity of individuals to each other, and the direction of movement of the individuals or objects. This information could be used to determine for example, whether an event, such as a meeting could take place, or whether a group member will be late to the meeting and by how long. Such information could be quite significant for business meetings where timing is critical and individual presence is essential.
However, the problem remains that there exists no mechanism which relates to group dynamics and which permits individuals or groups to make decisions based on information available about the proximity of other individuals or groups. The need for such a mechanism has heretofore remained unsatisfied.
It is a feature of the present invention to satisfy this need as it relates, for example to group dynamics, such as the dynamics of organizing meetings. This invention facilitates the availability of knowledge concerning the proximity and direction of movement of individuals, and whether this information satisfies preset logical criteria.
The following examples will help illustrate exemplary situations being addressed by the present invention:
(1) The absence of a particular individual can void the significance of the meeting. The meeting should be cancelled or delayed until this individual is present.
(2) The absence of a particular individual is not important and the meeting can proceed regardless.
(3) It is necessary to have a quorum of people present to validate the meeting.
(4) It may be helpful to know the trajectory and direction of movement of the people involved to maximize the use of time of those who are ready to attend the meeting. For example, a meeting of persons A, B, C, and D is going to be delayed since person D is held up in traffic and will take 15 minutes to arrive. Persons A, B, and C can be notified automatically, delaying their effort to be at the meeting at the scheduled time, and allowing them to make better use of their time instead of sitting idle in a conference room.
(5) Client C1, perhaps a company or a group of individuals, belongs to group M. Client C1 wishes to get a notification, only when one or more members of group M are close to it (perhaps closer than 5 km). Based on this information, Client C1 can decide to start the meeting, initiate a conference call, etc.
(6) Client C2 belongs to group M and group N. Client C2 will get a notification when client C1 is closer than 2 km or one of the members of group M is closer than 100 m, or one of the members of group N is closer than 0.5 km.
(7) Client C3 wishes to get a notification only when client C1 is within a range of 0.5 km.
The foregoing and other features of the present invention are realized by a group notification system and method for implementing and indicating the proximity of individuals or groups to other individuals or groups. The system generally comprises two main components: a plurality of user modules that identify the group members (or objects), and one or more group location alert servers.
Each user module communicates with the group location alert server, and includes a GPS interface that receives location information and that periodically sends updated location information to the group location alert server. In addition, the user module receives data from the group location alert server and displays it to the group member. The user module operates under the control of a session manager and transmits the member identifying data to the group location alert server over a WAN interface. The WAN interface supports a wireless connection to the Internet, and allows the user module to exchange information with the group location alert server.
The group location alert server collects information from the various user modules in the field, and sorts, collates, and identifies groupings, locations, users"" proximities, and/or users"" directions of movement, to identify the information to send to various clients. The group location alert server includes a session manager that acquires the location information of the various users from the various user modules over a WAN interface or from the Internet. The group location alert server notifies a matching module of each user""s location, by sending a user identification label to the matching module.
The WAN interface supports the connection to the Internet for the communication and interaction between the group location alert server and the various user modules. The matching module calculates the distance between two users"" locations. When the matching module receives a notification from the session manager, it calculates the distance between the current location of the user module and the locations of all the other relevant user modules.
The matching module checks the profile database to identify the group, subgroup, groups, or subgroups to which a specific user belongs. The matching module requests all the identifications of the user modules belonging to the relevant groups from the profile database, which are relevant to a predetermined client. The matching module then calculates the distance between the user modules and compares them to a threshold range. When the calculated distance is less than a predetermined profile threshold, the matching module triggers a notification module to send a message to the client concerning the event status.